
class Person:
    def __init__(self,name,age):
        self.name = name #公有属性
        self.__age=age #私有属性
    def __str__(self):
        return f'{self.name}的年龄为{self.__age}'
    # 对私有属性的访问要通过创建getter和setter方法来访问和修改
    def get_age(self):#访问私有属性
        return self.__age
    def set_age(self,new_age):#修改私有属性
        if self.__age<0 or self.__age>120:
            print('提供的年龄信息不正确')
        else:
            self.__age=new_age


if __name__ == '__main__':
    xiaohong = Person('xiaohong',24)
    print(xiaohong)
    # 直接修改xiaohong的年龄
    # 会发现无法修改成功，因为该属性为私有属性
    # 只能在Person类中访问，在外面无法访问
    xiaohong.__age=1000
    print(xiaohong)
    # 通过getter、setter方法访问私有属性和修改私有属性，可成功
    print('-----')
    print(xiaohong.get_age())
    xiaohong.set_age(10)
    print(xiaohong.get_age())